#pragma once

#include <mysql.h>
#include <string>
#include <chrono>

using std::string;

// 数据库操作类
class Connection
{
public:
    // 初始化数据库连接
    Connection();

    // 释放数据库连接资源
    ~Connection();

    // 连接数据库
    bool connect(string ip, unsigned short port,
        string user, string password, string dbname);

    // 更新操作 insert、delete、update
    bool update(string sql);

    // 查询操作 select
    MYSQL_RES* query(string sql);

    // 获取连接空闲时间（毫秒）
    uint64_t getIdleTimeMillis() const;

    // 更新操作时间（每次操作后调用）
    void updateLastOperationTime();
private:

private:
    MYSQL* conn_; // 表示和MySQL Server的一条连接
    std::chrono::steady_clock::time_point last_operation_time_;  // 记录最后一次执行操作的时间
};